<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GtkFileChooser</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
<link rel="home" href="index.html" title="GTK+ 3 参考手册">
<link rel="up" href="SelectorWidgets.html" title="选择器(Color/File/Font)">
<link rel="prev" href="gtk3-GtkHSV.html" title="GtkHSV">
<link rel="next" href="gtk3-GtkFileChooserButton.html" title="GtkFileChooserButton">
<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td><a accesskey="p" href="gtk3-GtkHSV.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="SelectorWidgets.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">GTK+ 3 参考手册</th>
<td><a accesskey="n" href="gtk3-GtkFileChooserButton.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts">
<a href="#gtk3-GtkFileChooser.synopsis" class="shortcut">Top</a>
                   | 
                  <a href="#gtk3-GtkFileChooser.description" class="shortcut">Description</a>
</td></tr>
</table>
<div class="refentry">
<a name="gtk3-GtkFileChooser"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="gtk3-GtkFileChooser.top_of_page"></a>GtkFileChooser</span></h2>
<p>GtkFileChooser — File chooser interface used by GtkFileChooserWidget and GtkFileChooserDialog</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv">
<a name="gtk3-GtkFileChooser.synopsis"></a><h2>Synopsis</h2>
<pre class="synopsis">
#include &lt;gtk/gtk.h&gt;

                    <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser">GtkFileChooser</a>;
enum                <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooserAction" title="enum GtkFileChooserAction">GtkFileChooserAction</a>;
enum                <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooserConfirmation" title="enum GtkFileChooserConfirmation">GtkFileChooserConfirmation</a>;
#define             <a class="link" href="gtk3-GtkFileChooser.html#GTK-FILE-CHOOSER-ERROR:CAPS" title="GTK_FILE_CHOOSER_ERROR">GTK_FILE_CHOOSER_ERROR</a>
enum                <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooserError" title="enum GtkFileChooserError">GtkFileChooserError</a>;
<span class="returnvalue">void</span>                <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-set-action" title="gtk_file_chooser_set_action ()">gtk_file_chooser_set_action</a>         (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooserAction" title="enum GtkFileChooserAction"><span class="type">GtkFileChooserAction</span></a> action</code></em>);
<a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooserAction" title="enum GtkFileChooserAction"><span class="returnvalue">GtkFileChooserAction</span></a> <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-get-action" title="gtk_file_chooser_get_action ()">gtk_file_chooser_get_action</a>        (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-set-local-only" title="gtk_file_chooser_set_local_only ()">gtk_file_chooser_set_local_only</a>     (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> local_only</code></em>);
<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-get-local-only" title="gtk_file_chooser_get_local_only ()">gtk_file_chooser_get_local_only</a>     (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-set-select-multiple" title="gtk_file_chooser_set_select_multiple ()">gtk_file_chooser_set_select_multiple</a>
                                                        (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> select_multiple</code></em>);
<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-get-select-multiple" title="gtk_file_chooser_get_select_multiple ()">gtk_file_chooser_get_select_multiple</a>
                                                        (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-set-show-hidden" title="gtk_file_chooser_set_show_hidden ()">gtk_file_chooser_set_show_hidden</a>    (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> show_hidden</code></em>);
<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-get-show-hidden" title="gtk_file_chooser_get_show_hidden ()">gtk_file_chooser_get_show_hidden</a>    (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-set-do-overwrite-confirmation" title="gtk_file_chooser_set_do_overwrite_confirmation ()">gtk_file_chooser_set_do_overwrite_confirmation</a>
                                                        (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> do_overwrite_confirmation</code></em>);
<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-get-do-overwrite-confirmation" title="gtk_file_chooser_get_do_overwrite_confirmation ()">gtk_file_chooser_get_do_overwrite_confirmation</a>
                                                        (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-set-create-folders" title="gtk_file_chooser_set_create_folders ()">gtk_file_chooser_set_create_folders</a> (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> create_folders</code></em>);
<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-get-create-folders" title="gtk_file_chooser_get_create_folders ()">gtk_file_chooser_get_create_folders</a> (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-set-current-name" title="gtk_file_chooser_set_current_name ()">gtk_file_chooser_set_current_name</a>   (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);
<a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *             <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-get-filename" title="gtk_file_chooser_get_filename ()">gtk_file_chooser_get_filename</a>       (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);
<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-set-filename" title="gtk_file_chooser_set_filename ()">gtk_file_chooser_set_filename</a>       (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *filename</code></em>);
<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-select-filename" title="gtk_file_chooser_select_filename ()">gtk_file_chooser_select_filename</a>    (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *filename</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-unselect-filename" title="gtk_file_chooser_unselect_filename ()">gtk_file_chooser_unselect_filename</a>  (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *filename</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-select-all" title="gtk_file_chooser_select_all ()">gtk_file_chooser_select_all</a>         (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-unselect-all" title="gtk_file_chooser_unselect_all ()">gtk_file_chooser_unselect_all</a>       (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);
<a href="../glib/glib-Singly-Linked-Lists.html#GSList"><span class="returnvalue">GSList</span></a> *            <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-get-filenames" title="gtk_file_chooser_get_filenames ()">gtk_file_chooser_get_filenames</a>      (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);
<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-set-current-folder" title="gtk_file_chooser_set_current_folder ()">gtk_file_chooser_set_current_folder</a> (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *filename</code></em>);
<a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *             <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-get-current-folder" title="gtk_file_chooser_get_current_folder ()">gtk_file_chooser_get_current_folder</a> (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);
<a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *             <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-get-uri" title="gtk_file_chooser_get_uri ()">gtk_file_chooser_get_uri</a>            (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);
<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-set-uri" title="gtk_file_chooser_set_uri ()">gtk_file_chooser_set_uri</a>            (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *uri</code></em>);
<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-select-uri" title="gtk_file_chooser_select_uri ()">gtk_file_chooser_select_uri</a>         (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *uri</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-unselect-uri" title="gtk_file_chooser_unselect_uri ()">gtk_file_chooser_unselect_uri</a>       (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *uri</code></em>);
<a href="../glib/glib-Singly-Linked-Lists.html#GSList"><span class="returnvalue">GSList</span></a> *            <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-get-uris" title="gtk_file_chooser_get_uris ()">gtk_file_chooser_get_uris</a>           (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);
<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-set-current-folder-uri" title="gtk_file_chooser_set_current_folder_uri ()">gtk_file_chooser_set_current_folder_uri</a>
                                                        (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *uri</code></em>);
<a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *             <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-get-current-folder-uri" title="gtk_file_chooser_get_current_folder_uri ()">gtk_file_chooser_get_current_folder_uri</a>
                                                        (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-set-preview-widget" title="gtk_file_chooser_set_preview_widget ()">gtk_file_chooser_set_preview_widget</a> (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gtk3-GtkWidget.html#GtkWidget" title="GtkWidget"><span class="type">GtkWidget</span></a> *preview_widget</code></em>);
<a class="link" href="gtk3-GtkWidget.html#GtkWidget" title="GtkWidget"><span class="returnvalue">GtkWidget</span></a> *         <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-get-preview-widget" title="gtk_file_chooser_get_preview_widget ()">gtk_file_chooser_get_preview_widget</a> (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-set-preview-widget-active" title="gtk_file_chooser_set_preview_widget_active ()">gtk_file_chooser_set_preview_widget_active</a>
                                                        (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> active</code></em>);
<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-get-preview-widget-active" title="gtk_file_chooser_get_preview_widget_active ()">gtk_file_chooser_get_preview_widget_active</a>
                                                        (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-set-use-preview-label" title="gtk_file_chooser_set_use_preview_label ()">gtk_file_chooser_set_use_preview_label</a>
                                                        (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> use_label</code></em>);
<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-get-use-preview-label" title="gtk_file_chooser_get_use_preview_label ()">gtk_file_chooser_get_use_preview_label</a>
                                                        (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);
<span class="returnvalue">char</span> *              <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-get-preview-filename" title="gtk_file_chooser_get_preview_filename ()">gtk_file_chooser_get_preview_filename</a>
                                                        (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);
<span class="returnvalue">char</span> *              <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-get-preview-uri" title="gtk_file_chooser_get_preview_uri ()">gtk_file_chooser_get_preview_uri</a>    (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-set-extra-widget" title="gtk_file_chooser_set_extra_widget ()">gtk_file_chooser_set_extra_widget</a>   (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gtk3-GtkWidget.html#GtkWidget" title="GtkWidget"><span class="type">GtkWidget</span></a> *extra_widget</code></em>);
<a class="link" href="gtk3-GtkWidget.html#GtkWidget" title="GtkWidget"><span class="returnvalue">GtkWidget</span></a> *         <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-get-extra-widget" title="gtk_file_chooser_get_extra_widget ()">gtk_file_chooser_get_extra_widget</a>   (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-add-filter" title="gtk_file_chooser_add_filter ()">gtk_file_chooser_add_filter</a>         (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gtk3-GtkFileFilter.html#GtkFileFilter" title="GtkFileFilter"><span class="type">GtkFileFilter</span></a> *filter</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-remove-filter" title="gtk_file_chooser_remove_filter ()">gtk_file_chooser_remove_filter</a>      (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gtk3-GtkFileFilter.html#GtkFileFilter" title="GtkFileFilter"><span class="type">GtkFileFilter</span></a> *filter</code></em>);
<a href="../glib/glib-Singly-Linked-Lists.html#GSList"><span class="returnvalue">GSList</span></a> *            <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-list-filters" title="gtk_file_chooser_list_filters ()">gtk_file_chooser_list_filters</a>       (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-set-filter" title="gtk_file_chooser_set_filter ()">gtk_file_chooser_set_filter</a>         (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gtk3-GtkFileFilter.html#GtkFileFilter" title="GtkFileFilter"><span class="type">GtkFileFilter</span></a> *filter</code></em>);
<a class="link" href="gtk3-GtkFileFilter.html#GtkFileFilter" title="GtkFileFilter"><span class="returnvalue">GtkFileFilter</span></a> *     <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-get-filter" title="gtk_file_chooser_get_filter ()">gtk_file_chooser_get_filter</a>         (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);
<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-add-shortcut-folder" title="gtk_file_chooser_add_shortcut_folder ()">gtk_file_chooser_add_shortcut_folder</a>
                                                        (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *folder</code></em>,
                                                         <em class="parameter"><code><a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-remove-shortcut-folder" title="gtk_file_chooser_remove_shortcut_folder ()">gtk_file_chooser_remove_shortcut_folder</a>
                                                        (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *folder</code></em>,
                                                         <em class="parameter"><code><a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
<a href="../glib/glib-Singly-Linked-Lists.html#GSList"><span class="returnvalue">GSList</span></a> *            <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-list-shortcut-folders" title="gtk_file_chooser_list_shortcut_folders ()">gtk_file_chooser_list_shortcut_folders</a>
                                                        (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);
<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-add-shortcut-folder-uri" title="gtk_file_chooser_add_shortcut_folder_uri ()">gtk_file_chooser_add_shortcut_folder_uri</a>
                                                        (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *uri</code></em>,
                                                         <em class="parameter"><code><a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-remove-shortcut-folder-uri" title="gtk_file_chooser_remove_shortcut_folder_uri ()">gtk_file_chooser_remove_shortcut_folder_uri</a>
                                                        (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *uri</code></em>,
                                                         <em class="parameter"><code><a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
<a href="../glib/glib-Singly-Linked-Lists.html#GSList"><span class="returnvalue">GSList</span></a> *            <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-list-shortcut-folder-uris" title="gtk_file_chooser_list_shortcut_folder_uris ()">gtk_file_chooser_list_shortcut_folder_uris</a>
                                                        (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);
<a href="../gio/GFile.html"><span class="returnvalue">GFile</span></a> *             <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-get-current-folder-file" title="gtk_file_chooser_get_current_folder_file ()">gtk_file_chooser_get_current_folder_file</a>
                                                        (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);
<a href="../gio/GFile.html"><span class="returnvalue">GFile</span></a> *             <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-get-file" title="gtk_file_chooser_get_file ()">gtk_file_chooser_get_file</a>           (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);
<a href="../glib/glib-Singly-Linked-Lists.html#GSList"><span class="returnvalue">GSList</span></a> *            <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-get-files" title="gtk_file_chooser_get_files ()">gtk_file_chooser_get_files</a>          (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);
<a href="../gio/GFile.html"><span class="returnvalue">GFile</span></a> *             <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-get-preview-file" title="gtk_file_chooser_get_preview_file ()">gtk_file_chooser_get_preview_file</a>   (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);
<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-select-file" title="gtk_file_chooser_select_file ()">gtk_file_chooser_select_file</a>        (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code><a href="../gio/GFile.html"><span class="type">GFile</span></a> *file</code></em>,
                                                         <em class="parameter"><code><a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-set-current-folder-file" title="gtk_file_chooser_set_current_folder_file ()">gtk_file_chooser_set_current_folder_file</a>
                                                        (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code><a href="../gio/GFile.html"><span class="type">GFile</span></a> *file</code></em>,
                                                         <em class="parameter"><code><a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-set-file" title="gtk_file_chooser_set_file ()">gtk_file_chooser_set_file</a>           (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code><a href="../gio/GFile.html"><span class="type">GFile</span></a> *file</code></em>,
                                                         <em class="parameter"><code><a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-unselect-file" title="gtk_file_chooser_unselect_file ()">gtk_file_chooser_unselect_file</a>      (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code><a href="../gio/GFile.html"><span class="type">GFile</span></a> *file</code></em>);
</pre>
</div>
<div class="refsect1">
<a name="gtk3-GtkFileChooser.description"></a><h2>Description</h2>
<p>
<a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> is an interface that can be implemented by file
selection widgets.  In GTK+, the main objects that implement this
interface are <a class="link" href="gtk3-GtkFileChooserWidget.html#GtkFileChooserWidget" title="struct GtkFileChooserWidget"><span class="type">GtkFileChooserWidget</span></a>, <a class="link" href="gtk3-GtkFileChooserDialog.html#GtkFileChooserDialog" title="struct GtkFileChooserDialog"><span class="type">GtkFileChooserDialog</span></a>, and
<a class="link" href="gtk3-GtkFileChooserButton.html#GtkFileChooserButton" title="struct GtkFileChooserButton"><span class="type">GtkFileChooserButton</span></a>.  You do not need to write an object that
implements the <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> interface unless you are trying to
adapt an existing file selector to expose a standard programming
interface.
</p>
<p>
<a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> allows for shortcuts to various places in the filesystem.
In the default implementation these are displayed in the left pane. It
may be a bit confusing at first that these shortcuts come from various
sources and in various flavours, so lets explain the terminology here:
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term">Bookmarks</span></p></td>
<td>
         are created by the user, by dragging folders from the
         right pane to the left pane, or by using the "Add". Bookmarks
         can be renamed and deleted by the user.
      </td>
</tr>
<tr>
<td><p><span class="term">Shortcuts</span></p></td>
<td>
         can be provided by the application or by the underlying filesystem
         abstraction (e.g. both the gnome-vfs and the Windows filesystems
         provide "Desktop" shortcuts). Shortcuts cannot be modified by the
         user.
      </td>
</tr>
<tr>
<td><p><span class="term">Volumes</span></p></td>
<td>
         are provided by the underlying filesystem abstraction. They are
         the "roots" of the filesystem.
      </td>
</tr>
</tbody>
</table></div>
<p>
</p>
<p>
</p>
<div class="refsect2">
<a name="gtkfilechooser-encodings"></a><h3>File Names and Encodings</h3>
When the user is finished selecting files in a
<a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>, your program can get the selected names
either as filenames or as URIs.  For URIs, the normal escaping
rules are applied if the URI contains non-ASCII characters.
However, filenames are <span class="emphasis"><em>always</em></span> returned in
the character set specified by the
<code class="envar">G_FILENAME_ENCODING</code> environment variable.
Please see the Glib documentation for more details about this
variable.
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
   This means that while you can pass the result of
   <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-get-filename" title="gtk_file_chooser_get_filename ()"><code class="function">gtk_file_chooser_get_filename()</code></a> to
   <code class="function">open(2)</code> or
   <code class="function">fopen(3)</code>, you may not be able to
   directly set it as the text of a <a class="link" href="gtk3-GtkLabel.html#GtkLabel" title="struct GtkLabel"><span class="type">GtkLabel</span></a> widget unless you
   convert it first to UTF-8, which all GTK+ widgets expect.
   You should use <a href="../glib/glib-Character-Set-Conversion.html#g-filename-to-utf8"><code class="function">g_filename_to_utf8()</code></a> to convert filenames
   into strings that can be passed to GTK+ widgets.
</div>
</div>
<p>
</p>
<hr>
<div class="refsect2">
<a name="gtkfilechooser-preview"></a><h3>Adding a Preview Widget</h3>
<p>
You can add a custom preview widget to a file chooser and then
get notification about when the preview needs to be updated.
To install a preview widget, use
<a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-set-preview-widget" title="gtk_file_chooser_set_preview_widget ()"><code class="function">gtk_file_chooser_set_preview_widget()</code></a>.  Then, connect to the
<span class="type">"update-preview"</span> signal to get notified when
you need to update the contents of the preview.
</p>
<p>
Your callback should use
<a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-get-preview-filename" title="gtk_file_chooser_get_preview_filename ()"><code class="function">gtk_file_chooser_get_preview_filename()</code></a> to see what needs
previewing.  Once you have generated the preview for the
corresponding file, you must call
<a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-set-preview-widget-active" title="gtk_file_chooser_set_preview_widget_active ()"><code class="function">gtk_file_chooser_set_preview_widget_active()</code></a> with a boolean
flag that indicates whether your callback could successfully
generate a preview.
</p>
<div class="example">
<a name="example-gtkfilechooser-preview"></a><p class="title"><b>Example 72. Sample Usage</b></p>
<div class="example-contents"><pre class="programlisting">
{
  GtkImage *preview;

  ...

  preview = gtk_image_new ();

  gtk_file_chooser_set_preview_widget (my_file_chooser, preview);
  g_signal_connect (my_file_chooser, "update-preview",
		    G_CALLBACK (update_preview_cb), preview);
}

static void
update_preview_cb (GtkFileChooser *file_chooser, gpointer data)
{
  GtkWidget *preview;
  char *filename;
  GdkPixbuf *pixbuf;
  gboolean have_preview;

  preview = GTK_WIDGET (data);
  filename = gtk_file_chooser_get_preview_filename (file_chooser);

  pixbuf = gdk_pixbuf_new_from_file_at_size (filename, 128, 128, NULL);
  have_preview = (pixbuf != NULL);
  g_free (filename);

  gtk_image_set_from_pixbuf (GTK_IMAGE (preview), pixbuf);
  if (pixbuf)
    g_object_unref (pixbuf);

  gtk_file_chooser_set_preview_widget_active (file_chooser, have_preview);
}
</pre></div>
</div>
<br class="example-break">
</div>
<p>
</p>
<hr>
<div class="refsect2">
<a name="gtkfilechooser-extra"></a><h3>Adding Extra Widgets</h3>
<p>
You can add extra widgets to a file chooser to provide options
that are not present in the default design.  For example, you
can add a toggle button to give the user the option to open a
file in read-only mode.  You can use
<a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-set-extra-widget" title="gtk_file_chooser_set_extra_widget ()"><code class="function">gtk_file_chooser_set_extra_widget()</code></a> to insert additional
widgets in a file chooser.
</p>
<div class="example">
<a name="example-gtkfilechooser-extra"></a><p class="title"><b>Example 73. Sample Usage</b></p>
<div class="example-contents"><pre class="programlisting">

  GtkWidget *toggle;

  ...

  toggle = gtk_check_button_new_with_label ("Open file read-only");
  gtk_widget_show (toggle);
  gtk_file_chooser_set_extra_widget (my_file_chooser, toggle);
}
</pre></div>
</div>
<br class="example-break"><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
   If you want to set more than one extra widget in the file
   chooser, you can a container such as a <a class="link" href="gtk3-GtkVBox.html#GtkVBox" title="struct GtkVBox"><span class="type">GtkVBox</span></a> or a <a class="link" href="gtk3-GtkTable.html#GtkTable" title="struct GtkTable"><span class="type">GtkTable</span></a>
   and include your widgets in it.  Then, set the container as
   the whole extra widget.
</div>
</div>
<p>
</p>
<hr>
<div class="refsect2">
<a name="gtkfilechooser-key-bindings"></a><h3>Key Bindings</h3>
<p>
Internally, GTK+ implements a file chooser's graphical user
interface with the private
<code class="classname">GtkFileChooserDefaultClass</code>.  This
widget has several <GTKDOCLINK HREF="gtk-Bindings">key
bindings</GTKDOCLINK> and their associated signals.  This section
describes the available key binding signals.
</p>
<div class="example">
<a name="gtkfilechooser-key-binding-example"></a><p class="title"><b>Example 74. GtkFileChooser key binding example</b></p>
<div class="example-contents">
<p>
The default keys that activate the key-binding signals in
<code class="classname">GtkFileChooserDefaultClass</code> are as
follows:
</p>
<div class="informaltable"><table border="1">
<colgroup>
<col>
<col>
</colgroup>
<tbody>
<tr>
<td>Signal name</td>
<td>Default key combinations</td>
</tr>
<tr>
<td>location-popup</td>
<td>
		  <span class="keycap"><strong>Control</strong></span>+<span class="keycap"><strong>L</strong></span> (empty path);
		  <span class="keycap"><strong>/</strong></span> (path of "/")
               <sup>[<a name="id3691974" href="#ftn.id3691974" class="footnote">a</a>]</sup>;
		  <span class="keycap"><strong>~</strong></span> (path of "~")
		</td>
</tr>
<tr>
<td>up-folder</td>
<td>
		  <span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>Up</strong></span>;
               <span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>Shift</strong></span>+<span class="keycap"><strong>Up</strong></span>
               <sup>[<a name="id3692044" href="#ftn.id3692044" class="footnote">b</a>]</sup>;
		  <span class="keycap"><strong>Backspace</strong></span>
		</td>
</tr>
<tr>
<td>down-folder</td>
<td>
               <span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>Down</strong></span>;
               <span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>Shift</strong></span>+<span class="keycap"><strong>Down</strong></span>
               <sup>[<a name="id3692107" href="#ftn.id3692107" class="footnote">c</a>]</sup>
             </td>
</tr>
<tr>
<td>home-folder</td>
<td>
<span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>Home</strong></span>
</td>
</tr>
<tr>
<td>desktop-folder</td>
<td>
<span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>D</strong></span>
</td>
</tr>
<tr>
<td>quick-bookmark</td>
<td>
<span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>1</strong></span> through <span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>0</strong></span>
</td>
</tr>
</tbody>
<tbody class="footnotes"><tr><td colspan="2">
<div class="footnote"><span class="keycap"><strong><sup>[<a name="ftn.id3691974" href="#id3691974" class="keycap">a</a>] </sup>/</strong></span></div>
<div class="footnote"></div>
<div class="footnote"></div>
</td></tr></tbody>
</table></div>
<p>
You can change these defaults to something else.  For
example, to add a <span class="keycap"><strong>Shift</strong></span> modifier to a few
of the default bindings, you can include the following
fragment in your <code class="filename">.gtkrc-3.0</code> file:
</p>
<pre class="programlisting">
binding "my-own-gtkfilechooser-bindings" {
	bind "&lt;Alt&gt;&lt;Shift&gt;Up" {
		"up-folder" ()
	}
	bind "&lt;Alt&gt;&lt;Shift&gt;Down" {
		"down-folder" ()
	}
	bind "&lt;Alt&gt;&lt;Shift&gt;Home" {
		"home-folder" ()
	}
}

class "GtkFileChooserDefault" binding "my-own-gtkfilechooser-bindings"
</pre>
</div>
</div>
<br class="example-break"><div class="refsect3">
<a name="GtkFileChooserDefault-location-popup"></a><h4>The "GtkFileChooserDefault::location-popup" signal</h4>
<pre class="programlisting">
   void user_function (GtkFileChooserDefault *chooser,
                       const char            *path,
<a href="../glib/glib-Basic-Types.html#gpointer">gpointer</a>      user_data);
</pre>
<p>
This is used to make the file chooser show a "Location"
dialog which the user can use to manually type the name of
the file he wishes to select.  The
<em class="parameter"><code>path</code></em> argument is a string that gets
put in the text entry for the file name.  By default this is bound to
<span class="keycap"><strong>Control</strong></span>+<span class="keycap"><strong>L</strong></span>
with a <em class="parameter"><code>path</code></em> string of "" (the empty
string).  It is also bound to <span class="keycap"><strong>/</strong></span> with a
<em class="parameter"><code>path</code></em> string of "<code class="literal">/</code>"
(a slash):  this lets you type <span class="keycap"><strong>/</strong></span> and
immediately type a path name.  On Unix systems, this is bound to
<span class="keycap"><strong>~</strong></span> (tilde) with a <em class="parameter"><code>path</code></em> string
of "~" itself for access to home directories.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>
		the object which received the signal.
	      </td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>path</code></em> :</span></p></td>
<td>
		default contents for the text entry for the file name
	      </td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>
		user data set when the signal handler was connected.
	      </td>
</tr>
</tbody>
</table></div>
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
   You can create your own bindings for the
   <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooserDefault-location-popup" title='The "GtkFileChooserDefault::location-popup" signal'><span class="type">"location-popup"</span></a> signal with custom
   <em class="parameter"><code>path</code></em> strings, and have a crude form
   of easily-to-type bookmarks.  For example, say you access
   the path <code class="filename">/home/username/misc</code> very
   frequently.  You could then create an <span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>M</strong></span>
   shortcut by including the following in your
   <code class="filename">.gtkrc-3.0</code>:
   <pre class="programlisting">
   binding "misc-shortcut" {
      bind "&lt;Alt&gt;M" {
         "location-popup" ("/home/username/misc")
	 }
   }

   class "GtkFileChooserDefault" binding "misc-shortcut"
   </pre>
</div>
</div>
<div class="refsect3">
<a name="GtkFileChooserDefault-up-folder"></a><h4>The "GtkFileChooserDefault::up-folder" signal</h4>
<pre class="programlisting">
          void user_function (GtkFileChooserDefault *chooser,
                              <a href="../glib/glib-Basic-Types.html#gpointer">gpointer</a> user_data);
</pre>
<p>
This is used to make the file chooser go to the parent of
the current folder in the file hierarchy.  By default this
is bound to <span class="keycap"><strong>Backspace</strong></span> and
<span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>Up</strong></span>
(the Up key in the numeric keypad also works).
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>
		the object which received the signal.
	      </td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>
		user data set when the signal handler was connected.
	      </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="GtkFileChooserDefault-down-folder"></a><h4>The "GtkFileChooserDefault::down-folder" signal</h4>
<pre class="programlisting">
          void user_function (GtkFileChooserDefault *chooser,
                              <a href="../glib/glib-Basic-Types.html#gpointer">gpointer</a> user_data);
</pre>
<p>
This is used to make the file chooser go to a child of the
current folder in the file hierarchy.  The subfolder that
will be used is displayed in the path bar widget of the file
chooser.  For example, if the path bar is showing
"/foo/<span class="emphasis"><em>bar/</em></span>baz", then this will cause
the file chooser to switch to the "baz" subfolder.  By
default this is bound to
<span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>Down</strong></span>
(the Down key in the numeric keypad also works).
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>
		the object which received the signal.
	      </td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>
		user data set when the signal handler was connected.
	      </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="GtkFileChooserDefault-home-folder"></a><h4>The "GtkFileChooserDefault::home-folder" signal</h4>
<pre class="programlisting">
          void user_function (GtkFileChooserDefault *chooser,
                              <a href="../glib/glib-Basic-Types.html#gpointer">gpointer</a> user_data);
</pre>
<p>
This is used to make the file chooser show the user's home
folder in the file list.  By default this is bound to
<span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>Home</strong></span>
(the Home key in the numeric keypad also works).
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>
		the object which received the signal.
	      </td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>
		user data set when the signal handler was connected.
	      </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="GtkFileChooserDefault-desktop-folder"></a><h4>The "GtkFileChooserDefault::desktop-folder" signal</h4>
<pre class="programlisting">
          void user_function (GtkFileChooserDefault *chooser,
                              <a href="../glib/glib-Basic-Types.html#gpointer">gpointer</a> user_data);
</pre>
<p>
This is used to make the file chooser show the user's Desktop
folder in the file list.  By default this is bound to
<span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>D</strong></span>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>
		the object which received the signal.
	      </td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>
		user data set when the signal handler was connected.
	      </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="GtkFileChooserDefault-quick-bookmark"></a><h4>The "GtkFileChooserDefault::quick-bookmark" signal</h4>
<pre class="programlisting">
          void user_function (GtkFileChooserDefault *chooser,
                              gint bookmark_index,
                              <a href="../glib/glib-Basic-Types.html#gpointer">gpointer</a> user_data);
</pre>
<p>
This is used to make the file chooser switch to the bookmark
specified in the <em class="parameter"><code>bookmark_index</code></em> parameter.
For example, if you have three bookmarks, you can pass 0, 1, 2 to
this signal to switch to each of them, respectively.  By default this is bound to
<span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>1</strong></span>,
<span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>2</strong></span>,
etc. until
<span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>0</strong></span>.  Note
that in the default binding,
that <span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>1</strong></span> is
actually defined to switch to the bookmark at index 0, and so on
successively;
<span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>0</strong></span> is
defined to switch to the bookmark at index 10.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>
		the object which received the signal.
	      </td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>bookmark_indes</code></em> :</span></p></td>
<td>
		index of the bookmark to switch to; the indices start at 0.
	      </td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>
		user data set when the signal handler was connected.
	      </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<p>
</p>
</div>
<div class="refsect1">
<a name="gtk3-GtkFileChooser.details"></a><h2>Details</h2>
<div class="refsect2">
<a name="GtkFileChooser"></a><h3>GtkFileChooser</h3>
<pre class="programlisting">typedef struct _GtkFileChooser GtkFileChooser;</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2">
<a name="GtkFileChooserAction"></a><h3>enum GtkFileChooserAction</h3>
<pre class="programlisting">typedef enum {
  GTK_FILE_CHOOSER_ACTION_OPEN,
  GTK_FILE_CHOOSER_ACTION_SAVE,
  GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER,
  GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER
} GtkFileChooserAction;
</pre>
<p>
Describes whether a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> is being used to open existing files
or to save to a possibly new file.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><a name="GTK-FILE-CHOOSER-ACTION-OPEN:CAPS"></a><span class="term"><code class="literal">GTK_FILE_CHOOSER_ACTION_OPEN</code></span></p></td>
<td>Indicates open mode.  The file chooser
 will only let the user pick an existing file.
</td>
</tr>
<tr>
<td><p><a name="GTK-FILE-CHOOSER-ACTION-SAVE:CAPS"></a><span class="term"><code class="literal">GTK_FILE_CHOOSER_ACTION_SAVE</code></span></p></td>
<td>Indicates save mode.  The file chooser
 will let the user pick an existing file, or type in a new
 filename.
</td>
</tr>
<tr>
<td><p><a name="GTK-FILE-CHOOSER-ACTION-SELECT-FOLDER:CAPS"></a><span class="term"><code class="literal">GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER</code></span></p></td>
<td>Indicates an Open mode for
 selecting folders.  The file chooser will let the user pick an
 existing folder.
</td>
</tr>
<tr>
<td><p><a name="GTK-FILE-CHOOSER-ACTION-CREATE-FOLDER:CAPS"></a><span class="term"><code class="literal">GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER</code></span></p></td>
<td>Indicates a mode for creating a
 new folder.  The file chooser will let the user name an existing or
 new folder.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GtkFileChooserConfirmation"></a><h3>enum GtkFileChooserConfirmation</h3>
<pre class="programlisting">typedef enum {
  GTK_FILE_CHOOSER_CONFIRMATION_CONFIRM,
  GTK_FILE_CHOOSER_CONFIRMATION_ACCEPT_FILENAME,
  GTK_FILE_CHOOSER_CONFIRMATION_SELECT_AGAIN
} GtkFileChooserConfirmation;
</pre>
<p>
Used as a return value of handlers for the
<span class="type">"confirm-overwrite"</span> signal of a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>. This
value determines whether the file chooser will present the stock
confirmation dialog, accept the user's choice of a filename, or
let the user choose another filename.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><a name="GTK-FILE-CHOOSER-CONFIRMATION-CONFIRM:CAPS"></a><span class="term"><code class="literal">GTK_FILE_CHOOSER_CONFIRMATION_CONFIRM</code></span></p></td>
<td>The file chooser will present
 its stock dialog to confirm about overwriting an existing file.
</td>
</tr>
<tr>
<td><p><a name="GTK-FILE-CHOOSER-CONFIRMATION-ACCEPT-FILENAME:CAPS"></a><span class="term"><code class="literal">GTK_FILE_CHOOSER_CONFIRMATION_ACCEPT_FILENAME</code></span></p></td>
<td>The file chooser will
 terminate and accept the user's choice of a file name.
</td>
</tr>
<tr>
<td><p><a name="GTK-FILE-CHOOSER-CONFIRMATION-SELECT-AGAIN:CAPS"></a><span class="term"><code class="literal">GTK_FILE_CHOOSER_CONFIRMATION_SELECT_AGAIN</code></span></p></td>
<td>The file chooser will
 continue running, so as to let the user select another file name.
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.8</p>
</div>
<hr>
<div class="refsect2">
<a name="GTK-FILE-CHOOSER-ERROR:CAPS"></a><h3>GTK_FILE_CHOOSER_ERROR</h3>
<pre class="programlisting">#define GTK_FILE_CHOOSER_ERROR (gtk_file_chooser_error_quark ())
</pre>
<p>
Used to get the <a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> quark for <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> errors.
</p>
</div>
<hr>
<div class="refsect2">
<a name="GtkFileChooserError"></a><h3>enum GtkFileChooserError</h3>
<pre class="programlisting">typedef enum {
  GTK_FILE_CHOOSER_ERROR_NONEXISTENT,
  GTK_FILE_CHOOSER_ERROR_BAD_FILENAME,
  GTK_FILE_CHOOSER_ERROR_ALREADY_EXISTS,
  GTK_FILE_CHOOSER_ERROR_INCOMPLETE_HOSTNAME
} GtkFileChooserError;
</pre>
<p>
These identify the various errors that can occur while calling
<a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> functions.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><a name="GTK-FILE-CHOOSER-ERROR-NONEXISTENT:CAPS"></a><span class="term"><code class="literal">GTK_FILE_CHOOSER_ERROR_NONEXISTENT</code></span></p></td>
<td>Indicates that a file does not exist.
</td>
</tr>
<tr>
<td><p><a name="GTK-FILE-CHOOSER-ERROR-BAD-FILENAME:CAPS"></a><span class="term"><code class="literal">GTK_FILE_CHOOSER_ERROR_BAD_FILENAME</code></span></p></td>
<td>Indicates a malformed filename.
</td>
</tr>
<tr>
<td><p><a name="GTK-FILE-CHOOSER-ERROR-ALREADY-EXISTS:CAPS"></a><span class="term"><code class="literal">GTK_FILE_CHOOSER_ERROR_ALREADY_EXISTS</code></span></p></td>
<td>Indicates a duplicate path (e.g. when
 adding a bookmark).
</td>
</tr>
<tr>
<td><p><a name="GTK-FILE-CHOOSER-ERROR-INCOMPLETE-HOSTNAME:CAPS"></a><span class="term"><code class="literal">GTK_FILE_CHOOSER_ERROR_INCOMPLETE_HOSTNAME</code></span></p></td>
<td>Indicates an incomplete hostname (e.g. "http://foo" without a slash after that).
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-set-action"></a><h3>gtk_file_chooser_set_action ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_file_chooser_set_action         (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooserAction" title="enum GtkFileChooserAction"><span class="type">GtkFileChooserAction</span></a> action</code></em>);</pre>
<p>
Sets the type of operation that the chooser is performing; the
user interface is adapted to suit the selected action. For example,
an option to create a new folder might be shown if the action is
<a class="link" href="gtk3-GtkFileChooser.html#GTK-FILE-CHOOSER-ACTION-SAVE:CAPS"><code class="literal">GTK_FILE_CHOOSER_ACTION_SAVE</code></a> but not if the action is
<a class="link" href="gtk3-GtkFileChooser.html#GTK-FILE-CHOOSER-ACTION-OPEN:CAPS"><code class="literal">GTK_FILE_CHOOSER_ACTION_OPEN</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>action</code></em> :</span></p></td>
<td>the action that the file selector is performing</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-action"></a><h3>gtk_file_chooser_get_action ()</h3>
<pre class="programlisting"><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooserAction" title="enum GtkFileChooserAction"><span class="returnvalue">GtkFileChooserAction</span></a> gtk_file_chooser_get_action        (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>
Gets the type of operation that the file chooser is performing; see
<a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-set-action" title="gtk_file_chooser_set_action ()"><code class="function">gtk_file_chooser_set_action()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the action that the file selector is performing</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-set-local-only"></a><h3>gtk_file_chooser_set_local_only ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_file_chooser_set_local_only     (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> local_only</code></em>);</pre>
<p>
Sets whether only local files can be selected in the
file selector. If <em class="parameter"><code>local_only</code></em> is <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> (the default),
then the selected file are files are guaranteed to be
accessible through the operating systems native file
file system and therefore the application only
needs to worry about the filename functions in
<a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>, like <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-get-filename" title="gtk_file_chooser_get_filename ()"><code class="function">gtk_file_chooser_get_filename()</code></a>,
rather than the URI functions like
<a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-get-uri" title="gtk_file_chooser_get_uri ()"><code class="function">gtk_file_chooser_get_uri()</code></a>,
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>local_only</code></em> :</span></p></td>
<td>
<a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if only local files can be selected</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-local-only"></a><h3>gtk_file_chooser_get_local_only ()</h3>
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gtk_file_chooser_get_local_only     (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>
Gets whether only local files can be selected in the
file selector. See <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-set-local-only" title="gtk_file_chooser_set_local_only ()"><code class="function">gtk_file_chooser_set_local_only()</code></a>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if only local files can be selected.</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-set-select-multiple"></a><h3>gtk_file_chooser_set_select_multiple ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_file_chooser_set_select_multiple
                                                        (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> select_multiple</code></em>);</pre>
<p>
Sets whether multiple files can be selected in the file selector.  This is
only relevant if the action is set to be <a class="link" href="gtk3-GtkFileChooser.html#GTK-FILE-CHOOSER-ACTION-OPEN:CAPS"><code class="literal">GTK_FILE_CHOOSER_ACTION_OPEN</code></a> or
<a class="link" href="gtk3-GtkFileChooser.html#GTK-FILE-CHOOSER-ACTION-SELECT-FOLDER:CAPS"><code class="literal">GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>select_multiple</code></em> :</span></p></td>
<td>
<a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if multiple files can be selected.</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-select-multiple"></a><h3>gtk_file_chooser_get_select_multiple ()</h3>
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gtk_file_chooser_get_select_multiple
                                                        (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>
Gets whether multiple files can be selected in the file
selector. See <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-set-select-multiple" title="gtk_file_chooser_set_select_multiple ()"><code class="function">gtk_file_chooser_set_select_multiple()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if multiple files can be selected.</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-set-show-hidden"></a><h3>gtk_file_chooser_set_show_hidden ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_file_chooser_set_show_hidden    (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> show_hidden</code></em>);</pre>
<p>
Sets whether hidden files and folders are displayed in the file selector.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>show_hidden</code></em> :</span></p></td>
<td>
<a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if hidden files and folders should be displayed.</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.6</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-show-hidden"></a><h3>gtk_file_chooser_get_show_hidden ()</h3>
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gtk_file_chooser_get_show_hidden    (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>
Gets whether hidden files and folders are displayed in the file selector.   
See <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-set-show-hidden" title="gtk_file_chooser_set_show_hidden ()"><code class="function">gtk_file_chooser_set_show_hidden()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if hidden files and folders are displayed.</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.6</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-set-do-overwrite-confirmation"></a><h3>gtk_file_chooser_set_do_overwrite_confirmation ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_file_chooser_set_do_overwrite_confirmation
                                                        (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> do_overwrite_confirmation</code></em>);</pre>
<p>
Sets whether a file chooser in <a class="link" href="gtk3-GtkFileChooser.html#GTK-FILE-CHOOSER-ACTION-SAVE:CAPS"><code class="literal">GTK_FILE_CHOOSER_ACTION_SAVE</code></a> mode will present
a confirmation dialog if the user types a file name that already exists.  This
is <a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> by default.
</p>
<p>
Regardless of this setting, the <em class="parameter"><code>chooser</code></em> will emit the
<span class="type">"confirm-overwrite"</span> signal when appropriate.
</p>
<p>
If all you need is the stock confirmation dialog, set this property to <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>.
You can override the way confirmation is done by actually handling the
<span class="type">"confirm-overwrite"</span> signal; please refer to its documentation
for the details.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>do_overwrite_confirmation</code></em> :</span></p></td>
<td>whether to confirm overwriting in save mode</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.8</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-do-overwrite-confirmation"></a><h3>gtk_file_chooser_get_do_overwrite_confirmation ()</h3>
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gtk_file_chooser_get_do_overwrite_confirmation
                                                        (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>
Queries whether a file chooser is set to confirm for overwriting when the user
types a file name that already exists.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the file chooser will present a confirmation dialog;
<a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.8</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-set-create-folders"></a><h3>gtk_file_chooser_set_create_folders ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_file_chooser_set_create_folders (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> create_folders</code></em>);</pre>
<p>
Sets whether file choser will offer to create new folders.
This is only relevant if the action is not set to be 
<a class="link" href="gtk3-GtkFileChooser.html#GTK-FILE-CHOOSER-ACTION-OPEN:CAPS"><code class="literal">GTK_FILE_CHOOSER_ACTION_OPEN</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>create_folders</code></em> :</span></p></td>
<td>
<a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the New Folder button should be displayed</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.18</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-create-folders"></a><h3>gtk_file_chooser_get_create_folders ()</h3>
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gtk_file_chooser_get_create_folders (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>
Gets whether file choser will offer to create new folders.
See <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-set-create-folders" title="gtk_file_chooser_set_create_folders ()"><code class="function">gtk_file_chooser_set_create_folders()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the New Folder button should be displayed.</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.18</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-set-current-name"></a><h3>gtk_file_chooser_set_current_name ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_file_chooser_set_current_name   (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
<p>
Sets the current name in the file selector, as if entered
by the user. Note that the name passed in here is a UTF-8
string rather than a filename. This function is meant for
such uses as a suggested name in a "Save As..." dialog.
</p>
<p>
If you want to preselect a particular existing file, you should use
<a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-set-filename" title="gtk_file_chooser_set_filename ()"><code class="function">gtk_file_chooser_set_filename()</code></a> or <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-set-uri" title="gtk_file_chooser_set_uri ()"><code class="function">gtk_file_chooser_set_uri()</code></a> instead.
Please see the documentation for those functions for an example of using
<a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-set-current-name" title="gtk_file_chooser_set_current_name ()"><code class="function">gtk_file_chooser_set_current_name()</code></a> as well.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
<td>the filename to use, as a UTF-8 string. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> filename]</span>
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-filename"></a><h3>gtk_file_chooser_get_filename ()</h3>
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *             gtk_file_chooser_get_filename       (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>
Gets the filename for the currently selected file in
the file selector. If multiple files are selected,
one of the filenames will be returned at random.
</p>
<p>
If the file chooser is in folder mode, this function returns the selected
folder.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>The currently selected filename, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
if no file is selected, or the selected file can't
be represented with a local filename. Free with <a href="../glib/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> filename]</span>
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-set-filename"></a><h3>gtk_file_chooser_set_filename ()</h3>
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gtk_file_chooser_set_filename       (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *filename</code></em>);</pre>
<p>
Sets <em class="parameter"><code>filename</code></em> as the current filename for the file chooser, by changing
to the file's parent folder and actually selecting the file in list.  If
the <em class="parameter"><code>chooser</code></em> is in <a class="link" href="gtk3-GtkFileChooser.html#GTK-FILE-CHOOSER-ACTION-SAVE:CAPS"><code class="literal">GTK_FILE_CHOOSER_ACTION_SAVE</code></a> mode, the file's base name
will also appear in the dialog's file name entry.
</p>
<p>
If the file name isn't in the current folder of <em class="parameter"><code>chooser</code></em>, then the current
folder of <em class="parameter"><code>chooser</code></em> will be changed to the folder containing <em class="parameter"><code>filename</code></em>. This
is equivalent to a sequence of <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-unselect-all" title="gtk_file_chooser_unselect_all ()"><code class="function">gtk_file_chooser_unselect_all()</code></a> followed by
<a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-select-filename" title="gtk_file_chooser_select_filename ()"><code class="function">gtk_file_chooser_select_filename()</code></a>.
</p>
<p>
Note that the file must exist, or nothing will be done except
for the directory change.
</p>
<p>
If you are implementing a <span class="guimenuitem">File/Save As...</span> dialog,
you should use this function if you already have a file name to which the 
user may save; for example, when the user opens an existing file and then 
does <span class="guimenuitem">File/Save As...</span> on it.  If you don't have 
a file name already — for example, if the user just created a new 
file and is saving it for the first time, do not call this function.  
Instead, use something similar to this:
</p>
<div class="informalexample"><pre class="programlisting">
if (document_is_new)
  {
    /* the user just created a new document */
    gtk_file_chooser_set_current_folder (chooser, default_folder_for_saving);
    gtk_file_chooser_set_current_name (chooser, "Untitled document");
  }
else
  {
    /* the user edited an existing document */ 
    gtk_file_chooser_set_filename (chooser, existing_filename);
  }
</pre></div>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>filename</code></em> :</span></p></td>
<td>the filename to set as current. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> filename]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if both the folder could be changed and the file was
selected successfully, <a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-select-filename"></a><h3>gtk_file_chooser_select_filename ()</h3>
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gtk_file_chooser_select_filename    (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *filename</code></em>);</pre>
<p>
Selects a filename. If the file name isn't in the current
folder of <em class="parameter"><code>chooser</code></em>, then the current folder of <em class="parameter"><code>chooser</code></em> will
be changed to the folder containing <em class="parameter"><code>filename</code></em>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>filename</code></em> :</span></p></td>
<td>the filename to select. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> filename]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if both the folder could be changed and the file was
selected successfully, <a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-unselect-filename"></a><h3>gtk_file_chooser_unselect_filename ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_file_chooser_unselect_filename  (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *filename</code></em>);</pre>
<p>
Unselects a currently selected filename. If the filename
is not in the current directory, does not exist, or
is otherwise not currently selected, does nothing.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>filename</code></em> :</span></p></td>
<td>the filename to unselect. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> filename]</span>
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-select-all"></a><h3>gtk_file_chooser_select_all ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_file_chooser_select_all         (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>
Selects all the files in the current folder of a file chooser.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr></tbody>
</table></div>
<p class="since">Since 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-unselect-all"></a><h3>gtk_file_chooser_unselect_all ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_file_chooser_unselect_all       (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>
Unselects all the files in the current folder of a file chooser.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr></tbody>
</table></div>
<p class="since">Since 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-filenames"></a><h3>gtk_file_chooser_get_filenames ()</h3>
<pre class="programlisting"><a href="../glib/glib-Singly-Linked-Lists.html#GSList"><span class="returnvalue">GSList</span></a> *            gtk_file_chooser_get_filenames      (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>
Lists all the selected files and subfolders in the current folder of
<em class="parameter"><code>chooser</code></em>. The returned names are full absolute paths. If files in the current
folder cannot be represented as local filenames they will be ignored. (See
<a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-get-uris" title="gtk_file_chooser_get_uris ()"><code class="function">gtk_file_chooser_get_uris()</code></a>)
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a <a href="../glib/glib-Singly-Linked-Lists.html#GSList"><span class="type">GSList</span></a>
containing the filenames of all selected files and subfolders in
the current folder. Free the returned list with <a href="../glib/glib-Singly-Linked-Lists.html#g-slist-free"><code class="function">g_slist_free()</code></a>,
and the filenames with <a href="../glib/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> filename][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-set-current-folder"></a><h3>gtk_file_chooser_set_current_folder ()</h3>
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gtk_file_chooser_set_current_folder (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *filename</code></em>);</pre>
<p>
Sets the current folder for <em class="parameter"><code>chooser</code></em> from a local filename.
The user will be shown the full contents of the current folder,
plus user interface elements for navigating to other folders.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>filename</code></em> :</span></p></td>
<td>the full path of the new current folder. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> filename]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the folder could be changed successfully, <a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>
otherwise.</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-current-folder"></a><h3>gtk_file_chooser_get_current_folder ()</h3>
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *             gtk_file_chooser_get_current_folder (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>
Gets the current folder of <em class="parameter"><code>chooser</code></em> as a local filename.
See <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-set-current-folder" title="gtk_file_chooser_set_current_folder ()"><code class="function">gtk_file_chooser_set_current_folder()</code></a>.
</p>
<p>
Note that this is the folder that the file chooser is currently displaying
(e.g. "/home/username/Documents"), which is <span class="emphasis"><em>not the same</em></span>
as the currently-selected folder if the chooser is in
<a class="link" href="gtk3-GtkFileChooser.html#GTK-FILE-CHOOSER-ACTION-SELECT-FOLDER:CAPS"><code class="literal">GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER</code></a> mode
(e.g. "/home/username/Documents/selected-folder/".  To get the
currently-selected folder in that mode, use <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-get-uri" title="gtk_file_chooser_get_uri ()"><code class="function">gtk_file_chooser_get_uri()</code></a> as the
usual way to get the selection.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the full path of the current folder,
or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the current path cannot be represented as a local
filename.  Free with <a href="../glib/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>.  This function will also return
<a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the file chooser was unable to load the last folder that
was requested from it; for example, as would be for calling
<a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-set-current-folder" title="gtk_file_chooser_set_current_folder ()"><code class="function">gtk_file_chooser_set_current_folder()</code></a> on a nonexistent folder. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> filename]</span>
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-uri"></a><h3>gtk_file_chooser_get_uri ()</h3>
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *             gtk_file_chooser_get_uri            (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>
Gets the URI for the currently selected file in
the file selector. If multiple files are selected,
one of the filenames will be returned at random.
</p>
<p>
If the file chooser is in folder mode, this function returns the selected
folder.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>The currently selected URI, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
if no file is selected. Free with <a href="../glib/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-set-uri"></a><h3>gtk_file_chooser_set_uri ()</h3>
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gtk_file_chooser_set_uri            (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *uri</code></em>);</pre>
<p>
Sets the file referred to by <em class="parameter"><code>uri</code></em> as the current file for the file chooser,
by changing to the URI's parent folder and actually selecting the URI in the
list.  If the <em class="parameter"><code>chooser</code></em> is <a class="link" href="gtk3-GtkFileChooser.html#GTK-FILE-CHOOSER-ACTION-SAVE:CAPS"><code class="literal">GTK_FILE_CHOOSER_ACTION_SAVE</code></a> mode, the URI's base
name will also appear in the dialog's file name entry.
</p>
<p>
If the URI isn't in the current folder of <em class="parameter"><code>chooser</code></em>, then the current folder
of <em class="parameter"><code>chooser</code></em> will be changed to the folder containing <em class="parameter"><code>uri</code></em>. This is equivalent
to a sequence of <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-unselect-all" title="gtk_file_chooser_unselect_all ()"><code class="function">gtk_file_chooser_unselect_all()</code></a> followed by
<a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-select-uri" title="gtk_file_chooser_select_uri ()"><code class="function">gtk_file_chooser_select_uri()</code></a>.
</p>
<p>
Note that the URI must exist, or nothing will be done except for the 
directory change.
If you are implementing a <span class="guimenuitem">File/Save As...</span> dialog,
you should use this function if you already have a file name to which the 
user may save; for example, when the user opens an existing file and then 
does <span class="guimenuitem">File/Save As...</span> on it.  If you don't have 
a file name already — for example, if the user just created a new 
file and is saving it for the first time, do not call this function.  
Instead, use something similar to this:
</p>
<div class="informalexample"><pre class="programlisting">
if (document_is_new)
  {
    /* the user just created a new document */
    gtk_file_chooser_set_current_folder_uri (chooser, default_folder_for_saving);
    gtk_file_chooser_set_current_name (chooser, "Untitled document");
  }
else
  {
    /* the user edited an existing document */ 
    gtk_file_chooser_set_uri (chooser, existing_uri);
  }
</pre></div>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
<td>the URI to set as current</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if both the folder could be changed and the URI was
selected successfully, <a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-select-uri"></a><h3>gtk_file_chooser_select_uri ()</h3>
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gtk_file_chooser_select_uri         (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *uri</code></em>);</pre>
<p>
Selects the file to by <em class="parameter"><code>uri</code></em>. If the URI doesn't refer to a
file in the current folder of <em class="parameter"><code>chooser</code></em>, then the current folder of
<em class="parameter"><code>chooser</code></em> will be changed to the folder containing <em class="parameter"><code>filename</code></em>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
<td>the URI to select</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if both the folder could be changed and the URI was
selected successfully, <a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-unselect-uri"></a><h3>gtk_file_chooser_unselect_uri ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_file_chooser_unselect_uri       (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *uri</code></em>);</pre>
<p>
Unselects the file referred to by <em class="parameter"><code>uri</code></em>. If the file
is not in the current directory, does not exist, or
is otherwise not currently selected, does nothing.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
<td>the URI to unselect</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-uris"></a><h3>gtk_file_chooser_get_uris ()</h3>
<pre class="programlisting"><a href="../glib/glib-Singly-Linked-Lists.html#GSList"><span class="returnvalue">GSList</span></a> *            gtk_file_chooser_get_uris           (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>
Lists all the selected files and subfolders in the current folder of
<em class="parameter"><code>chooser</code></em>. The returned names are full absolute URIs.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a <a href="../glib/glib-Singly-Linked-Lists.html#GSList"><span class="type">GSList</span></a> containing the URIs of all selected
files and subfolders in the current folder. Free the returned list
with <a href="../glib/glib-Singly-Linked-Lists.html#g-slist-free"><code class="function">g_slist_free()</code></a>, and the filenames with <a href="../glib/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-set-current-folder-uri"></a><h3>gtk_file_chooser_set_current_folder_uri ()</h3>
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gtk_file_chooser_set_current_folder_uri
                                                        (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *uri</code></em>);</pre>
<p>
Sets the current folder for <em class="parameter"><code>chooser</code></em> from an URI.
The user will be shown the full contents of the current folder,
plus user interface elements for navigating to other folders.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
<td>the URI for the new current folder</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the folder could be changed successfully, <a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>
otherwise.</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-current-folder-uri"></a><h3>gtk_file_chooser_get_current_folder_uri ()</h3>
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *             gtk_file_chooser_get_current_folder_uri
                                                        (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>
Gets the current folder of <em class="parameter"><code>chooser</code></em> as an URI.
See <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-set-current-folder-uri" title="gtk_file_chooser_set_current_folder_uri ()"><code class="function">gtk_file_chooser_set_current_folder_uri()</code></a>.
</p>
<p>
Note that this is the folder that the file chooser is currently displaying
(e.g. "file:///home/username/Documents"), which is <span class="emphasis"><em>not the same</em></span>
as the currently-selected folder if the chooser is in
<a class="link" href="gtk3-GtkFileChooser.html#GTK-FILE-CHOOSER-ACTION-SELECT-FOLDER:CAPS"><code class="literal">GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER</code></a> mode
(e.g. "file:///home/username/Documents/selected-folder/".  To get the
currently-selected folder in that mode, use <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-get-uri" title="gtk_file_chooser_get_uri ()"><code class="function">gtk_file_chooser_get_uri()</code></a> as the
usual way to get the selection.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the URI for the current folder.  Free with <a href="../glib/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>.  This
function will also return <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the file chooser was unable to load the
last folder that was requested from it; for example, as would be for calling
<a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-set-current-folder-uri" title="gtk_file_chooser_set_current_folder_uri ()"><code class="function">gtk_file_chooser_set_current_folder_uri()</code></a> on a nonexistent folder.</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-set-preview-widget"></a><h3>gtk_file_chooser_set_preview_widget ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_file_chooser_set_preview_widget (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gtk3-GtkWidget.html#GtkWidget" title="GtkWidget"><span class="type">GtkWidget</span></a> *preview_widget</code></em>);</pre>
<p>
Sets an application-supplied widget to use to display a custom preview
of the currently selected file. To implement a preview, after setting the
preview widget, you connect to the <span class="type">"update-preview"</span>
signal, and call <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-get-preview-filename" title="gtk_file_chooser_get_preview_filename ()"><code class="function">gtk_file_chooser_get_preview_filename()</code></a> or
<a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-get-preview-uri" title="gtk_file_chooser_get_preview_uri ()"><code class="function">gtk_file_chooser_get_preview_uri()</code></a> on each change. If you can
display a preview of the new file, update your widget and
set the preview active using <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-set-preview-widget-active" title="gtk_file_chooser_set_preview_widget_active ()"><code class="function">gtk_file_chooser_set_preview_widget_active()</code></a>.
Otherwise, set the preview inactive.
</p>
<p>
When there is no application-supplied preview widget, or the
application-supplied preview widget is not active, the file chooser
may display an internally generated preview of the current file or
it may display no preview at all.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>preview_widget</code></em> :</span></p></td>
<td>widget for displaying preview.</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-preview-widget"></a><h3>gtk_file_chooser_get_preview_widget ()</h3>
<pre class="programlisting"><a class="link" href="gtk3-GtkWidget.html#GtkWidget" title="GtkWidget"><span class="returnvalue">GtkWidget</span></a> *         gtk_file_chooser_get_preview_widget (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>
Gets the current preview widget; see
<a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-set-preview-widget" title="gtk_file_chooser_set_preview_widget ()"><code class="function">gtk_file_chooser_set_preview_widget()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the current preview widget, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-set-preview-widget-active"></a><h3>gtk_file_chooser_set_preview_widget_active ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_file_chooser_set_preview_widget_active
                                                        (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> active</code></em>);</pre>
<p>
Sets whether the preview widget set by
<a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-set-preview-widget" title="gtk_file_chooser_set_preview_widget ()"><code class="function">gtk_file_chooser_set_preview_widget()</code></a> should be shown for the
current filename. When <em class="parameter"><code>active</code></em> is set to false, the file chooser
may display an internally generated preview of the current file
or it may display no preview at all. See
<a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-set-preview-widget" title="gtk_file_chooser_set_preview_widget ()"><code class="function">gtk_file_chooser_set_preview_widget()</code></a> for more details.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>active</code></em> :</span></p></td>
<td>whether to display the user-specified preview widget</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-preview-widget-active"></a><h3>gtk_file_chooser_get_preview_widget_active ()</h3>
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gtk_file_chooser_get_preview_widget_active
                                                        (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>
Gets whether the preview widget set by <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-set-preview-widget" title="gtk_file_chooser_set_preview_widget ()"><code class="function">gtk_file_chooser_set_preview_widget()</code></a>
should be shown for the current filename. See
<a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-set-preview-widget-active" title="gtk_file_chooser_set_preview_widget_active ()"><code class="function">gtk_file_chooser_set_preview_widget_active()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the preview widget is active for the current filename.</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-set-use-preview-label"></a><h3>gtk_file_chooser_set_use_preview_label ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_file_chooser_set_use_preview_label
                                                        (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> use_label</code></em>);</pre>
<p>
Sets whether the file chooser should display a stock label with the name of
the file that is being previewed; the default is <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>.  Applications that
want to draw the whole preview area themselves should set this to <a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> and
display the name themselves in their preview widget.
</p>
<p>
See also: <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-set-preview-widget" title="gtk_file_chooser_set_preview_widget ()"><code class="function">gtk_file_chooser_set_preview_widget()</code></a>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>use_label</code></em> :</span></p></td>
<td>whether to display a stock label with the name of the previewed file</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-use-preview-label"></a><h3>gtk_file_chooser_get_use_preview_label ()</h3>
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gtk_file_chooser_get_use_preview_label
                                                        (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>
Gets whether a stock label should be drawn with the name of the previewed
file.  See <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-set-use-preview-label" title="gtk_file_chooser_set_use_preview_label ()"><code class="function">gtk_file_chooser_set_use_preview_label()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the file chooser is set to display a label with the
name of the previewed file, <a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-preview-filename"></a><h3>gtk_file_chooser_get_preview_filename ()</h3>
<pre class="programlisting"><span class="returnvalue">char</span> *              gtk_file_chooser_get_preview_filename
                                                        (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>
Gets the filename that should be previewed in a custom preview
widget. See <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-set-preview-widget" title="gtk_file_chooser_set_preview_widget ()"><code class="function">gtk_file_chooser_set_preview_widget()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the filename to preview, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if
no file is selected, or if the selected file cannot be represented
as a local filename. Free with <a href="../glib/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> filename]</span>
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-preview-uri"></a><h3>gtk_file_chooser_get_preview_uri ()</h3>
<pre class="programlisting"><span class="returnvalue">char</span> *              gtk_file_chooser_get_preview_uri    (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>
Gets the URI that should be previewed in a custom preview
widget. See <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-set-preview-widget" title="gtk_file_chooser_set_preview_widget ()"><code class="function">gtk_file_chooser_set_preview_widget()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the URI for the file to preview, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if no file is
selected. Free with <a href="../glib/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>.</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-set-extra-widget"></a><h3>gtk_file_chooser_set_extra_widget ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_file_chooser_set_extra_widget   (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gtk3-GtkWidget.html#GtkWidget" title="GtkWidget"><span class="type">GtkWidget</span></a> *extra_widget</code></em>);</pre>
<p>
Sets an application-supplied widget to provide extra options to the user.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>extra_widget</code></em> :</span></p></td>
<td>widget for extra options</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-extra-widget"></a><h3>gtk_file_chooser_get_extra_widget ()</h3>
<pre class="programlisting"><a class="link" href="gtk3-GtkWidget.html#GtkWidget" title="GtkWidget"><span class="returnvalue">GtkWidget</span></a> *         gtk_file_chooser_get_extra_widget   (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>
Gets the current preview widget; see
<a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-set-extra-widget" title="gtk_file_chooser_set_extra_widget ()"><code class="function">gtk_file_chooser_set_extra_widget()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the current extra widget, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-add-filter"></a><h3>gtk_file_chooser_add_filter ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_file_chooser_add_filter         (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gtk3-GtkFileFilter.html#GtkFileFilter" title="GtkFileFilter"><span class="type">GtkFileFilter</span></a> *filter</code></em>);</pre>
<p>
Adds <em class="parameter"><code>filter</code></em> to the list of filters that the user can select between.
When a filter is selected, only files that are passed by that
filter are displayed. 
</p>
<p>
Note that the <em class="parameter"><code>chooser</code></em> takes ownership of the filter, so you have to 
ref and sink it if you want to keep a reference.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>filter</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileFilter.html#GtkFileFilter" title="GtkFileFilter"><span class="type">GtkFileFilter</span></a>
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-remove-filter"></a><h3>gtk_file_chooser_remove_filter ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_file_chooser_remove_filter      (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gtk3-GtkFileFilter.html#GtkFileFilter" title="GtkFileFilter"><span class="type">GtkFileFilter</span></a> *filter</code></em>);</pre>
<p>
Removes <em class="parameter"><code>filter</code></em> from the list of filters that the user can select between.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>filter</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileFilter.html#GtkFileFilter" title="GtkFileFilter"><span class="type">GtkFileFilter</span></a>
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-list-filters"></a><h3>gtk_file_chooser_list_filters ()</h3>
<pre class="programlisting"><a href="../glib/glib-Singly-Linked-Lists.html#GSList"><span class="returnvalue">GSList</span></a> *            gtk_file_chooser_list_filters       (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>
Lists the current set of user-selectable filters; see
<a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-add-filter" title="gtk_file_chooser_add_filter ()"><code class="function">gtk_file_chooser_add_filter()</code></a>, <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-remove-filter" title="gtk_file_chooser_remove_filter ()"><code class="function">gtk_file_chooser_remove_filter()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a
<a href="../glib/glib-Singly-Linked-Lists.html#GSList"><span class="type">GSList</span></a> containing the current set of user selectable filters. The
contents of the list are owned by GTK+, but you must free the list
itself with <a href="../glib/glib-Singly-Linked-Lists.html#g-slist-free"><code class="function">g_slist_free()</code></a> when you are done with it. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GtkFileFilter][<acronym title="Free data container after the code is done."><span class="acronym">transfer container</span></acronym>]</span>
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-set-filter"></a><h3>gtk_file_chooser_set_filter ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_file_chooser_set_filter         (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gtk3-GtkFileFilter.html#GtkFileFilter" title="GtkFileFilter"><span class="type">GtkFileFilter</span></a> *filter</code></em>);</pre>
<p>
Sets the current filter; only the files that pass the
filter will be displayed. If the user-selectable list of filters
is non-empty, then the filter should be one of the filters
in that list. Setting the current filter when the list of
filters is empty is useful if you want to restrict the displayed
set of files without letting the user change it.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>filter</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileFilter.html#GtkFileFilter" title="GtkFileFilter"><span class="type">GtkFileFilter</span></a>
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-filter"></a><h3>gtk_file_chooser_get_filter ()</h3>
<pre class="programlisting"><a class="link" href="gtk3-GtkFileFilter.html#GtkFileFilter" title="GtkFileFilter"><span class="returnvalue">GtkFileFilter</span></a> *     gtk_file_chooser_get_filter         (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>
Gets the current filter; see <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-set-filter" title="gtk_file_chooser_set_filter ()"><code class="function">gtk_file_chooser_set_filter()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the current filter, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-add-shortcut-folder"></a><h3>gtk_file_chooser_add_shortcut_folder ()</h3>
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gtk_file_chooser_add_shortcut_folder
                                                        (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *folder</code></em>,
                                                         <em class="parameter"><code><a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
<p>
Adds a folder to be displayed with the shortcut folders in a file chooser.
Note that shortcut folders do not get saved, as they are provided by the
application.  For example, you can use this to add a
"/usr/share/mydrawprogram/Clipart" folder to the volume list.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>folder</code></em> :</span></p></td>
<td>filename of the folder to add. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> filename]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td>location to store error, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the folder could be added successfully, <a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>
otherwise.  In the latter case, the <em class="parameter"><code>error</code></em> will be set as appropriate.</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-remove-shortcut-folder"></a><h3>gtk_file_chooser_remove_shortcut_folder ()</h3>
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gtk_file_chooser_remove_shortcut_folder
                                                        (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *folder</code></em>,
                                                         <em class="parameter"><code><a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
<p>
Removes a folder from a file chooser's list of shortcut folders.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>folder</code></em> :</span></p></td>
<td>filename of the folder to remove. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> filename]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td>location to store error, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the operation succeeds, <a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.
In the latter case, the <em class="parameter"><code>error</code></em> will be set as appropriate.
See also: <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-add-shortcut-folder" title="gtk_file_chooser_add_shortcut_folder ()"><code class="function">gtk_file_chooser_add_shortcut_folder()</code></a>
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-list-shortcut-folders"></a><h3>gtk_file_chooser_list_shortcut_folders ()</h3>
<pre class="programlisting"><a href="../glib/glib-Singly-Linked-Lists.html#GSList"><span class="returnvalue">GSList</span></a> *            gtk_file_chooser_list_shortcut_folders
                                                        (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>
Queries the list of shortcut folders in the file chooser, as set by
<a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-add-shortcut-folder" title="gtk_file_chooser_add_shortcut_folder ()"><code class="function">gtk_file_chooser_add_shortcut_folder()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>A list of
folder filenames, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if there are no shortcut folders.  Free
the returned list with <a href="../glib/glib-Singly-Linked-Lists.html#g-slist-free"><code class="function">g_slist_free()</code></a>, and the filenames with
<a href="../glib/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> filename][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-add-shortcut-folder-uri"></a><h3>gtk_file_chooser_add_shortcut_folder_uri ()</h3>
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gtk_file_chooser_add_shortcut_folder_uri
                                                        (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *uri</code></em>,
                                                         <em class="parameter"><code><a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
<p>
Adds a folder URI to be displayed with the shortcut folders in a file
chooser.  Note that shortcut folders do not get saved, as they are provided
by the application.  For example, you can use this to add a
"file:///usr/share/mydrawprogram/Clipart" folder to the volume list.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
<td>URI of the folder to add</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td>location to store error, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the folder could be added successfully, <a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>
otherwise.  In the latter case, the <em class="parameter"><code>error</code></em> will be set as appropriate.</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-remove-shortcut-folder-uri"></a><h3>gtk_file_chooser_remove_shortcut_folder_uri ()</h3>
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gtk_file_chooser_remove_shortcut_folder_uri
                                                        (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *uri</code></em>,
                                                         <em class="parameter"><code><a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
<p>
Removes a folder URI from a file chooser's list of shortcut folders.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>uri</code></em> :</span></p></td>
<td>URI of the folder to remove</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td>location to store error, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the operation succeeds, <a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.
In the latter case, the <em class="parameter"><code>error</code></em> will be set as appropriate.
See also: <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-add-shortcut-folder-uri" title="gtk_file_chooser_add_shortcut_folder_uri ()"><code class="function">gtk_file_chooser_add_shortcut_folder_uri()</code></a>
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-list-shortcut-folder-uris"></a><h3>gtk_file_chooser_list_shortcut_folder_uris ()</h3>
<pre class="programlisting"><a href="../glib/glib-Singly-Linked-Lists.html#GSList"><span class="returnvalue">GSList</span></a> *            gtk_file_chooser_list_shortcut_folder_uris
                                                        (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>
Queries the list of shortcut folders in the file chooser, as set by
<a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-add-shortcut-folder-uri" title="gtk_file_chooser_add_shortcut_folder_uri ()"><code class="function">gtk_file_chooser_add_shortcut_folder_uri()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>A list of folder
URIs, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if there are no shortcut folders.  Free the returned
list with <a href="../glib/glib-Singly-Linked-Lists.html#g-slist-free"><code class="function">g_slist_free()</code></a>, and the URIs with <a href="../glib/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-current-folder-file"></a><h3>gtk_file_chooser_get_current_folder_file ()</h3>
<pre class="programlisting"><a href="../gio/GFile.html"><span class="returnvalue">GFile</span></a> *             gtk_file_chooser_get_current_folder_file
                                                        (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>
Gets the current folder of <em class="parameter"><code>chooser</code></em> as <a href="../gio/GFile.html"><span class="type">GFile</span></a>.
See <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-get-current-folder-uri" title="gtk_file_chooser_get_current_folder_uri ()"><code class="function">gtk_file_chooser_get_current_folder_uri()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the <a href="../gio/GFile.html"><span class="type">GFile</span></a> for the current folder. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.14</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-file"></a><h3>gtk_file_chooser_get_file ()</h3>
<pre class="programlisting"><a href="../gio/GFile.html"><span class="returnvalue">GFile</span></a> *             gtk_file_chooser_get_file           (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>
Gets the <a href="../gio/GFile.html"><span class="type">GFile</span></a> for the currently selected file in
the file selector. If multiple files are selected,
one of the files will be returned at random.
</p>
<p>
If the file chooser is in folder mode, this function returns the selected
folder.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a selected <a href="../gio/GFile.html"><span class="type">GFile</span></a>. You own the returned file;
use <a href="../gobject/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a> to release it. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.14</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-files"></a><h3>gtk_file_chooser_get_files ()</h3>
<pre class="programlisting"><a href="../glib/glib-Singly-Linked-Lists.html#GSList"><span class="returnvalue">GSList</span></a> *            gtk_file_chooser_get_files          (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>
Lists all the selected files and subfolders in the current folder of <em class="parameter"><code>chooser</code></em>
as <a href="../gio/GFile.html"><span class="type">GFile</span></a>. An internal function, see <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-get-uris" title="gtk_file_chooser_get_uris ()"><code class="function">gtk_file_chooser_get_uris()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a <a href="../glib/glib-Singly-Linked-Lists.html#GSList"><span class="type">GSList</span></a>
containing a <a href="../gio/GFile.html"><span class="type">GFile</span></a> for each selected file and subfolder in the
current folder.  Free the returned list with <a href="../glib/glib-Singly-Linked-Lists.html#g-slist-free"><code class="function">g_slist_free()</code></a>, and
the files with <a href="../gobject/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GFile][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.14</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-preview-file"></a><h3>gtk_file_chooser_get_preview_file ()</h3>
<pre class="programlisting"><a href="../gio/GFile.html"><span class="returnvalue">GFile</span></a> *             gtk_file_chooser_get_preview_file   (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>
Gets the <a href="../gio/GFile.html"><span class="type">GFile</span></a> that should be previewed in a custom preview
Internal function, see <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-get-preview-uri" title="gtk_file_chooser_get_preview_uri ()"><code class="function">gtk_file_chooser_get_preview_uri()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the <a href="../gio/GFile.html"><span class="type">GFile</span></a> for the file to preview,
or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if no file is selected. Free with <a href="../gobject/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.14</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-select-file"></a><h3>gtk_file_chooser_select_file ()</h3>
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gtk_file_chooser_select_file        (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code><a href="../gio/GFile.html"><span class="type">GFile</span></a> *file</code></em>,
                                                         <em class="parameter"><code><a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
<p>
Selects the file referred to by <em class="parameter"><code>file</code></em>. An internal function. See
<a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-select-uri" title="gtk_file_chooser_select_uri ()"><code class="function">_gtk_file_chooser_select_uri()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>file</code></em> :</span></p></td>
<td>the file to select</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td>location to store error, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if both the folder could be changed and the path was
selected successfully, <a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.14</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-set-current-folder-file"></a><h3>gtk_file_chooser_set_current_folder_file ()</h3>
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gtk_file_chooser_set_current_folder_file
                                                        (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code><a href="../gio/GFile.html"><span class="type">GFile</span></a> *file</code></em>,
                                                         <em class="parameter"><code><a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
<p>
Sets the current folder for <em class="parameter"><code>chooser</code></em> from a <a href="../gio/GFile.html"><span class="type">GFile</span></a>.
Internal function, see <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-set-current-folder-uri" title="gtk_file_chooser_set_current_folder_uri ()"><code class="function">gtk_file_chooser_set_current_folder_uri()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>file</code></em> :</span></p></td>
<td>the <a href="../gio/GFile.html"><span class="type">GFile</span></a> for the new folder</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td>location to store error, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the folder could be changed successfully, <a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>
otherwise.</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.14</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-set-file"></a><h3>gtk_file_chooser_set_file ()</h3>
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gtk_file_chooser_set_file           (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code><a href="../gio/GFile.html"><span class="type">GFile</span></a> *file</code></em>,
                                                         <em class="parameter"><code><a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
<p>
Sets <em class="parameter"><code>file</code></em> as the current filename for the file chooser, by changing
to the file's parent folder and actually selecting the file in list.  If
the <em class="parameter"><code>chooser</code></em> is in <a class="link" href="gtk3-GtkFileChooser.html#GTK-FILE-CHOOSER-ACTION-SAVE:CAPS"><code class="literal">GTK_FILE_CHOOSER_ACTION_SAVE</code></a> mode, the file's base name
will also appear in the dialog's file name entry.
</p>
<p>
If the file name isn't in the current folder of <em class="parameter"><code>chooser</code></em>, then the current
folder of <em class="parameter"><code>chooser</code></em> will be changed to the folder containing <em class="parameter"><code>filename</code></em>. This
is equivalent to a sequence of <a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-unselect-all" title="gtk_file_chooser_unselect_all ()"><code class="function">gtk_file_chooser_unselect_all()</code></a> followed by
<a class="link" href="gtk3-GtkFileChooser.html#gtk-file-chooser-select-filename" title="gtk_file_chooser_select_filename ()"><code class="function">gtk_file_chooser_select_filename()</code></a>.
</p>
<p>
Note that the file must exist, or nothing will be done except
for the directory change.
</p>
<p>
If you are implementing a <span class="guimenuitem">File/Save As...</span> dialog,
you should use this function if you already have a file name to which the
user may save; for example, when the user opens an existing file and then
does <span class="guimenuitem">File/Save As...</span> on it.  If you don't have
a file name already — for example, if the user just created a new
file and is saving it for the first time, do not call this function.
Instead, use something similar to this:
</p>
<div class="informalexample"><pre class="programlisting">
if (document_is_new)
  {
    /* the user just created a new document */
    gtk_file_chooser_set_current_folder_file (chooser, default_file_for_saving);
    gtk_file_chooser_set_current_name (chooser, "Untitled document");
  }
else
  {
    /* the user edited an existing document */
    gtk_file_chooser_set_file (chooser, existing_file);
  }
</pre></div>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>file</code></em> :</span></p></td>
<td>the <a href="../gio/GFile.html"><span class="type">GFile</span></a> to set as current</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td>location to store the error, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore errors. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if both the folder could be changed and the file was
selected successfully, <a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.14</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-unselect-file"></a><h3>gtk_file_chooser_unselect_file ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_file_chooser_unselect_file      (<em class="parameter"><code><a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                                         <em class="parameter"><code><a href="../gio/GFile.html"><span class="type">GFile</span></a> *file</code></em>);</pre>
<p>
Unselects the file referred to by <em class="parameter"><code>file</code></em>. If the file is not in the current
directory, does not exist, or is otherwise not currently selected, does nothing.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>a <a class="link" href="gtk3-GtkFileChooser.html#GtkFileChooser" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>file</code></em> :</span></p></td>
<td>a <a href="../gio/GFile.html"><span class="type">GFile</span></a>
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.14</p>
</div>
</div>
<div class="refsect1">
<a name="gtk3-GtkFileChooser.see-also"></a><h2>See Also</h2>
<a class="link" href="gtk3-GtkFileChooserDialog.html#GtkFileChooserDialog" title="struct GtkFileChooserDialog"><span class="type">GtkFileChooserDialog</span></a>, <a class="link" href="gtk3-GtkFileChooserWidget.html#GtkFileChooserWidget" title="struct GtkFileChooserWidget"><span class="type">GtkFileChooserWidget</span></a>, <a class="link" href="gtk3-GtkFileChooserButton.html#GtkFileChooserButton" title="struct GtkFileChooserButton"><span class="type">GtkFileChooserButton</span></a>
</div>
</div>
<div class="footer">
<hr>
          Generated by GTK-Doc V1.18</div>
</body>
</html>